home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 2
/
Gold Medal Software Volume 2 (Gold Medal) (1994).iso
/
utils
/
condor40.arj
/
CONDOR.DOC
< prev
next >
Wrap
Text File
|
1993-07-28
|
47KB
|
1,263 lines
CONDOR
Copyright 1993 by Larry Mears
All Rights Reserved
version 4.0
"Requires a AT BIOS or later, CGA, EGA or VGA."
---------------------------------------------------------
ANY program that supports "EXTERNAL" ANSI (ANSI.SYS)
already has __INSTANT__ Condor support built it!
---------------------------------------------------------
CONDOR is DONATION-WARE there are no limits whatsoever.
If you use Condor please send $15 donation or if you can't
afford that much send what you can to encourage updates to
CONDOR. So far NO ONE has sent anything so I must be wasting
my time once again. If you would like to insure that a
CONDOR v4.1 is forthcoming ( Even one person counts ),
Send a small check or money order to:
Larry Mears
11027 Crestfield Dr.
Huntsville, AL 35803
Disclaimer: There is no gaurantee as to the performance of
CONDOR. The user assumes ALL risks involved
from the use of CONDOR.
TERMINAL, BBS, OFFLINE READER, DIGI Publisher authors it's REAL
easy for you to have CONDOR graphics in your program!
Please see How_to.txt
Index
Installation ............................................. 1
Description ............................................. 1
Syntax ............................................. 2
Constants ............................................. 3
Variables ............................................. 3
Aborting ............................................. 3
Condor in Text modes ..................................... 3
CONDOR COMMANDS
R_ Resolution ............................................. 4
b_ Sound Effects .......................................... 5
C_ Color Set ............................................. 5
D_ Drawto ............................................. 6
F_ Flood Fill ............................................. 6
H_ Hollow Set ............................................. 6
L_ Lines ............................................. 7
M_ Drawing Mode ........................................... 7
n_ Notes Play Pitches ..................................... 8
O_ Circle ............................................. 8
P_ Plot a Polymarker ...................................... 8
p_ Position Cursor ........................................ 9
S_ Setcolor Register ...................................... 9
s_ Screen Clear and Control ............................... 10
T_ Type of POLYMARKER ..................................... 10
t_ Timed Pause ............................................ 10
w_ Write Text ............................................. 11
X_ eXtended Commands ...................................... 12
Z_ Rectangle .............................................. 14
z_ Text Rectangle .......................................... 14
/_ Comment, REMark ......................................... 14
&_ LOOPing .............................................. 15
<_ INPUT Command ........................................... 17
?_ ASK CONDOR (auto-detection) ............................. 19
ANSI Support .............................................. 20
-1-
CONDOR
Copyright 1993 by Larry Mears
All Rights Reserved
version 4.0
INSTALLATION
------------
Condor is a console device driver. To use it you add a line
in your CONFIG.SYS file like: DEVICE=CONDOR.SYS If you have
a line in your CONFIG.SYS file like: device=ANSI.SYS remove it.
USERS should also read and EDIT the ACCESS.BAT file to set their
ACCESS CODE right NOW! SYSOPs must LOCK out the < INPUT on the
BBS local side refer to page -13- Also see LOCK & UNLOCK.BAT
DESCRIPTION
CONDOR is a ANSI.SYS replacment of sorts. CONDOR enables your
CGA/EGA/VGA computer to do bitmap style graphics ANY time from DOS or
from any program that uses DOS CON: for text output. With ANSI style
graphics you get low resolution blocky looking 80x25 graphics, with
CONDOR you get from 320x200 to 640x480 pixel graphics and ANSI too if
you want because CONDOR recognizes most ANSI commands and can execute
ANSI commands even while in a graphics mode. CONDOR will enhance
online communications with it's abilities. Terminal and BBS authors
will be able to access CONDOR by simply going through DOS for text
output, the faster DIRECT method only works in TEXT modes and will
not access CONDOR.SYS In TURBO C a bdos(2,character,0); command is
all it takes to give a terminal CONDOR graphics and sound POWER!
With CONDOR 4.0+ it is NOW possible to DRAW a ICON and use CONDOR's
X4/X5/X6 T and < commands to achieve POINT and CLICK operation of
BBSs or the DOS command line.
After you install CONDOR and reboot your system try the included
demo files by simply typing them from DOS.
Like: C:\TYPE wabbit.r16 (.r16)=resolution mode 16, or if you like
you can just type DEMO and the batch file will execute all the demos
by just using DOS's "TYPE" command, Condor is at DOS level!
The DEMO uses EGA and VGA screen modes.
-2-
SYNTAX ...
As most know ANSI uses a esc[pram;pramCommand sequence it might
look like esc[31;42m CONDOR is very different it is buffered.
You load Condor's buffer and then execute it. Condor has a
8003 byte buffer. To load Condor's buffer you use a sequence
like esc{command,data:command,data: ... esc} the 'esc' part
is really the escape character asci character 27. Condor
code will look like this:
esc{R6:C1,1:L0,0,639,199:t90:R3:esc} that only loads the buffer
Use esc# to execute the buffer.
The execute command actually wants a 3rd character from
A-z ( ascii values 65 to 122 including the weird characters
in between upper and lower case)
but if it encounters a SPACE or LF or any ascii character out of
the A-z range it executes as if it received a A. This is
so Condor's buffer can be divided up into sub-blocks and the
esc# command can execute a specific block. Sub-blocks are not
required, they are a feature for repetive things like music.
Sub-blocks within Condor's buffer begin with the { character and end
with the } character. They don't have the esc character like the
beginning and ending block markers for the whole buffer, although
BLOCK A is actually the esc{ mark at the beginning of the Condor
buffer. A Sub-block must have a { start marker but doesn't require
a ending marker, in this case the { sub-block marker acts as a entry
point in the buffer and will execute till it hits a } character so
several { markers can share one } marker. The position of the
{ sub-block marker dictates it's name. By the way carriage returns
and line feeds are striped from the buffer at load time but SPACES
remain. MOST of the commands require that the computer be in a
graphics mode too, so you set that with the R command.
( REPLACE esc with the escape character )
esc{R6:b1:}
{L10,10,140,190:
{b12:}
{t48:R3:esc}
To execute this in sequence you would go
esc#A esc#B esc#C esc#D (spaces for clarity only)
Block C would get excuted twice but with this setup
you could enter at block C and skip B.
If you wanted though you could execute in any order but
for this to work right you need to execute that R6: command
first. The R3: command brings you back to a text mode.
You could go esc#A esc#B esc#D
IMPORTANT!! MOST ALL DOS programs run in text mode so you should
ALWAYS switch back when done with your graphic. You can
use the 't' command to pause for a short display time then
do a R3: back to text mode.
This might be a little confusing but sub-blocks aren't required
you could just go esc{R6:b1:L10,10,140,190:b12:R3:esc}esc#A and
do it all in one block. Sub-blocks are just for added utility.
Condor's buffer remains intact until another esc{ ... esc} is
encountered, so you can execute it several times with the esc#A and
only load it once. You might do some repetive things so Condor's
buffer and sub-blocks can be really useful.
-3-
CONSTANTS range from 0 to 9999. Condor will only grab 4 digits,
trying to pass it more will mess things up. If you did something
like this L25555100,90,10,10: the 25555100 part would be interpreted
as L2555,100,90,10,10: and that 2555 would be off screen anyway.
VARIABLES only exist in the '&' LOOP they are x,y,+,-,! refer
to the section on the '&' LOOP command for details.
ABORTing... The USER can press the CTRL key to abort a
't' pause command OR to abort a '&' LOOP. A more
drastic abort is the ALT key, it will abort a 't' pause
and the '&' LOOP plus abort the buffer BLOCK being executed
and reset the screen to the mode it was in at bootup, plus
set the text color in graphics and text mode to value 7 white.
CONDOR COMMANDS in TEXT MODES:
A few commands can be executed in a text mode like the sound effect
command 'b'. These commands can only be excuted once in text mode
then buffer execution will cease. For example esc{b1:b4:esc}esc#A
would only execute the b1: command then exit, however if you set the
mode to a graphics mode both b1:b4: would excute. This is a safety
feature that was put in to keep someone from executing a graphics
command while in a text mode (causes lockups) BUT I wanted to allow
access someway to certain commands from text modes because text output
is much faster and you might just want a beep or blurp. You could do
multiple commands with sub-blocks while in a text mode like:
esc{b1:}{b4:esc}esc#Aesc#B Commands that can be executed in this
limited manner in text modes are the '&' LOOP command,
the 'R' resolution switch command, the 'n' musical NOTES command,
't' timed pause, the 'w' command WRITE text at column / row, the
'p' position text cursor at column / row, the 'C' color command,
'b' sound effects, the 'z' command write a rectangle of characters,
and '?' ASK CONDOR system information (auto-detection).
-4-
CONDOR COMMANDS
---------------
R set Resolution syntax example R6:
----------------
Switchs screen resolutions. This is the Most important
command since most Condor commands need to be in a
GRAPHIC mode to work. The R command
automatically adjusts characters for the screen mode.
Sets the HOLLOWS to TRUE (circles and rectangles will
not be filled). Sets the point,line, and fill colors
to 1. Sets the character attribute to 7, that's
white characters with black background, sets the
DRAW Mode to REPLACE, sets polymarkers to POINT and
polymarker size to 1, also sets the number of text
lines to 25. The R command serves as a reset
command of sorts as well as a resolution switching
command. This command is supposed to have no effect
if a value is passed greater than the video hardware
can support, however I am unable to test this since
I have only VGA.
Command identifier = R
Parameter = Graphics mode to set
Parameter Screen Colors Type
values Resolution
0 40x25 16 TEXT
1 40x25 16 TEXT
2 80x25 16 TEXT
3 80x25 16 TEXT
4 320x200 4 GRAPHICS
5 320x200 4 GRAPHICS
6 640x200 2 GRAPHICS
7 80x25 2 TEXT
8 N/A N/A N/A
9 N/A N/A N/A
10 N/A N/A N/A
11 N/A N/A N/A
12 N/A N/A N/A
13 320x200 16 GRAPHICS
14 640x200 16 GRAPHICS
15 640x350 2 GRAPHICS
16 640x350 16 GRAPHICS
17 640x480 2 GRAPHICS
18 640x480 16 GRAPHICS
19 320x200 256 GRAPHICS
EXAMPLE:
esc{R6:L319,10,219,110:D419,110:D319,10:t48:b15:R3:esc}esc#A
Another way:
esc{L319,10,219,110:D419,110:D319,10:t48:b15:R3:}{R6:esc}
esc#B esc#A
If you went esc#A esc#B nothing would happen except sub-block
B execution because the A block tries to draw lines and
that can only be done if a GRAPHICS mode is set, which
block B sets with the R6: command.
-5-
b sound effects syntax example b19:
---------------
Plays sound effects using the computer's
speaker. It's bells and whistle time!
Command identifier = b
Parameter = effect number
Effect # Name:
-------- -----
0 pute
1 yonk
2 Wood Pecker
3 British siren
4 buzz
5 Laughing Alien
6 woops
7 click-pop
8 meep
9 barber shears
10 zip-whistle
11 hey
12 insect
13 boing
14 broken chime
15 pebble in puddle
16 beep
17 long oh
18 harmonics
19 pinball
20 buzz-zapper
EXAMPLE: esc{b19:esc} esc#A
esc{R6:b1:b14:b20:b7:t48:R3:esc}esc#A
esc{R6:&0,20,1,0,b,1,x:R3:esc}esc#A
.......................................................................
C color set syntax example C1,2:
-----------
C = command identifier
Selects the register number to perform the screen
operation with.
1st parameter selects screen operation color to change.
0 = Polmarker color, used for the (P Plot command),
and the < INPUT command.
1 = line color, used for the (L Line Command)
2 = fill color, used for the (F Fill commands and
Z rectangle, and C circle )
3 = text color, used with the ( w command ).
2nd parameter selects the register number 0 to 255
depending on the graphic mode.
EXAMPLE esc{R19:C1,2:L0,0,100,199:R3:esc}esc#A
-6-
D line DRAWTO syntax example D149,99:
-------------
D = command identifier
Draws a line from the place the last place
a line or point was drawn.
Use the C command to change line color.
1st parameter = X coordinate
2nd parameter = Y coordinate
EXAMPLE esc{R6:P10,10:D100,20:D50,50:D10,10:R3:esc}
esc#A
.......................................................................
F flood FILLs syntax example F600,10,1: or f600,10:
-------------
F or f = command identifier
'F' Fills a area by replacing ALL colors starting
at specified X,Y coordinates till it hits
a border of a specified OPERATION COLOR.
If the command used is the 'f' fill the
color at X,Y is gotten and replaced with the
fill color set by the 'C'olor command. The
3rd parameter is dropped for the 'f' command.
1st parameter = X coordinate
2nd paraneter = Y coordinate
3rd parameter = (0 to 3) specified OPERATION COLOR:
0 for current point color
1 for current line color
2 for current fill color
3 for current text color
EXAMPLE esc{R16:C1,12:C2,2:P100,10:D200,100:
D0,100:D100,10:F150,90,1:t48:b15:R3:esc}
esc#A
.......................................................................
H hollow set syntax example H0:
------------
H = command identifier
When on non solids are drawn, a circle will be
drawn instead of a disk.
Parameter 1=on 0=off
EXAMPLE esc{R6:H0:Z10,10,100,50:H1:Z110,10,200,50:
t90:b7:R3:esc}esc#A
-7-
L draw LINE syntax example L0,0,300,150:
-----------
L = command identifier
Draws a line between specified points.
Use the C command to change line color.
1st parameter = beginning X coordinate
2nd parameter = beginning Y coordinate
3rd parameter = ending X coordiante
4th parameter = ending Y coordinate
EXAMPLE esc{R6:L0,0,639,0:L639,0,639,199:
L639,199,0,199:L0,199,0,0:
L0,199,639,0:L0,0,639,199:
t90:b19:R3:esc}esc#A
.......................................................................
M drawing MODE syntax example M2:
--------------
M = command identifier
Parameter sets drawing mode.
1 = replace 2 = XOR
Will not work in graphics mode 19.
Effects anything drawn after setting but only
after a C command. So you set M then do
a C (color set) anything draw with that color
will be drawn in XOR mode. XOR mode is good
for drawing things on top of things because
if you draw it twice the XORed drawing disappears
leaving the background untouched! Because
XOR makes the fill command go koo-koo XOR is disabled
whenever a fill operation occurs. You have to
set the color again with the C command to restore
XOR mode after a fill. To disable the XORing
altogether use M1: or do a res switch with the
R command.
EXAMPLE esc{R6:M2:H1:C1,1:Z100,20,200,198:
Z50,50,250,160:t90:b7:Z50,50,250,160:
t48:b20:R3:esc}esc#A
-8-
n notes play syntax example:
------------- n0,4000,1000,1: or n1,0,9999,100,10,500,1:
n = command identifier
Uses your computer's 1 bit sound and speaker to
play pitches from 0 to 9999 timed sustains with
sound shut off flag. Or can play a PITCH FROM TO
with STEP and delays between steps with trailing
SUSTAIN and sound shut on off FLAG.
IF 1st parameter is 0 then
2nd parameter = pitch, range(0-9999)
3rd parameter = sustain in 18.2ths of a sec range(0-9999)
4th parameter = OFF FLAG 0=leave playing, 1=shut off
IF 1st parameter is 1 then
2nd parameter = FROM pitch, value range(0-9999)
3rd parameter = TO pitch, value range(0-9999)
4th parameter = STEP value, range(1-9999)
5th parameter = DELAY between STEPs 18.2ths sec(0-9999)
6th parameter = SUSTAIN when TO value reached 18.2ths sec
7th parameter = OFF FLAG 0=leave playing 1=shut off
EXAMPLE: esc{R6:n0,1100,4,0:n0,1200,4,0:n0,1300,4,0:
n0,1400,4,0:n0,1500,4,0:n0,1600,4,0:
n0,1700,4,0:n0,1800,4,0:n0,1900,4,0:
n0,2000,4,0:n0,2100,4,0:n0,2200,4,0:
n0,2300,4,0:n0,2400,4,0:n0,2500,4,1:
R3:esc}esc#A
.......................................................................
O CIRCLE syntax example O159,100,75:
----------
O = command identifier
Draws a disc or circle depending if the
H command is active or not. This command
does not do a aspect ratio, so the best
circles will be in the 320x200 and 640x480
graphics modes.
1st parameter = X coordinate of circle center
2nd parameter = Y coordinate of circle center
3rd parameter = radius of circle
EXAMPLE esc{R6:O319,99,40:t48:R3:esc}esc#A
.......................................................................
P PLOT a polymarker syntax example P149,99:
--------------------
P = command identifier
Plot a POLYMARKER on the screen.
Use the C command to alter the color.
The 'T' command will change what's plotted.
1st parameter = X coordinate
2nd parameter = Y coordinate
EXAMPLE esc{R6:T3,1:P100,100:P0,0:P40,188:t48:R3:esc}esc#A
-9-
p position cursor syntax example p78,24:
-----------------
p = Command identifier
Positions the text cursor at column, row.
The max row is limited by the 's' command.
1st parameter = column (1 to 80 )
2nd parameter = row (1 to 25 )
EXAMPLE esc{R6:p10,21:esc}esc#A
......................................................................
S setcolor register
-------------------
S = command identifier
Sets one COLOR register for CGA/EGA/VGA
the syntax is different depending on the
adapter and current graphics mode set by
the R command. This command also can change
the BORDER color and switch BLINKing on/off.
Supports (R19:) 320x200 256 colors too.
IF in a CGA graphics mode R6: R5: or R4:
--- syntax is like: S1,1:
1st parameter selects which to alter
a Color Palette or
a BORDER and BACKGROUND change.
0=Set border & background
1=Set color palette
2nd parameter is color value for background & border
(0-15) or color palette(0-1) to change to.
IF in a EGA/VGA graphics mode R13: TO R18:
------- syntax is like: S0,2,63: to set a register
syntax is like: S1,63: to set border color
syntax is like: S2,1: to set blink flag
1st parameter selects which to alter
color register, border color or blink
To set a COLOR REGISTER:
1st prammeter = 0
2nd parameter = REGISTER number ( 0 to 15 )
3rd parameter = Color Val(0-63) (0-15)R13:,R14:
To set the BORDER COLOR:
1st parameter = 1
2nd parameter = color Val(0-63) (0-15)R13:,R14:
To turn BLINK on/off
1st parameter = 2
2nd parameter = 0 blink OFF or
1 blink ON
IF in VGA/MCGA graphics mode R19: (320x200 256 colors)
-------- syntax is like: S227,24,255,0:
1st parameter = color register number 0-255
2nd parameter = RED value ( 0 - 63 )
3rd parameter = GREEN value ( 0 - 63 )
4th parameter = BLUE value ( 0 - 63 )
-10-
s Screen Clear & Control syntax example s0: or s30:
------------------------
s = Command identifier
Clears the screen by resetting the graphics mode to
whatever mode is currently selected or adjusts
the number of text lines the screen has. This command
will CLEAR the WHOLE screen, use a ANSI esc[2J to
only clear the TEXT area set by 's'.
Parameter = 0 to 30
IF this parameter = 0 then just CLEAR whole screen.
IF this parameter greater than zero then set TEXT
lines screen has:
30 lines max(available in 480 tall modes only)
1 line minimum
EXAMPLE esc{R18:L10,10,639,180:t32:b12:s30:t48:b17:esc}esc#A
.......................................................................
T polymarker TYPES T3,4:
---------------------
T = command identifier
Sets the polymarker(shape) to use.
EFFECTS the pointer for the < INPUT comand
and the output of the P "plot" command.
Use the C command to alter the Color.
1st parameter picks type of polymarker
0 = pixel
1 = up arrow 2 = cross hair
3 = 5 point star 4 = rectangle
5 = diagonal cross 6 = diamond
7 = rectangle + 8 = circle +
9 = trivit
2nd parameter = size of polymarker, range 1 thru 255
EXAMPLE esc{R18:C0,12:T3,10:P100,100:t48:R3:esc}esc#A
.......................................................................
t Timed Pause syntax example t52:
--------------
t = Command identifier
Wait for specified 18.2ths of a second.
You can pause up to 1092 units, which
is one full minute. To ABORT a Pause
the User can press the Ctrl key.
Parameter = 1 to 1092 18.2ths of a second
EXAMPLE: esc{R6:Z20,20,150,140:t52:b19:R3:esc}esc#A
-11-
w Write text syntax example w10,20,LOOK AT US NOW - by Joe Walsh@
-------------
w = Command identifier
Writes a string of characters ending with a
@ symbol at the column, row specified.
It's VERY VERY important to end the string with @,
If you don't this command will eat the the code
after it! Pressing the ALT key may recover.
The @ symbol can be printed only if it is
the only character in the string to print,
ie w10,10,@ would print the @ symbol
at location 10,10. Also note that the
: need not be used after the @ symbol.
This command has full access to the screen even
if the screen has been shrunk with the 's' command.
Use the C command to change the text color.
1st parameter = column ( 1 to 80 )
2nd parameter = row ( 1 to Max needed)
3rd parameter = string of characters ending with a @
EXAMPLE esc{R6:w10,20,Back to Humans - by Queen@t52:
R3:esc}esc#A
-12-
eXtended Commands
-----------------
Extended commands are invoked by a captial
X and a number ranging from 0 to 9999.
X COMMANDS are ONLY available while in a
GRAPHICS mode!
"Some values skipped to help hold slight
syntax compatibility with IG and BIG."
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
X4 DEFINE and LOAD ZONE data X4,0,0,0,79,49,3,f/L:
-----------------------------
X4 = command identifier
Defines a rectangular area and associates a
string of characters with it, a ZONE.
The string is sent to the keyboard buffer by
the " < " command if the ARROW key option is
used. Most MOUSE driver software can produce
ARROW key values and ENTER when the left button
is pressed, this allows "Point and Click"
operation of remote systems or the sending
of short commands to the DOS command line.
Zone ID -> 1st parameter = zone number to define/load
This is a number between 0-63 or
optional value is 9999. If Zone ID is
9999 ALL Zone's retangular areas
are defined as -1,-1,-1,-1 by Condor
internally. This is to give a quick
clean slate.
When "Zone Loopback" is on the
'<' input command will continue to
poll a user until he selects a valid
defined ZONE or hits the ESC key.
examples X4,9999:
X4,9998: Zone Loopback ON
X4,9997: Zone Loopback OFF
(default loopback OFF)
No other parameters are required if
Zone ID is 9999-9997.
Define Rectangle -> 2nd parameter = upper left corner X coordinate
3rd parameter = upper left corner Y coordinate
4th parameter = lower right corner X coordinate
5th parameter = lower right corner Y coordinate
Load string data -> 6th parameter = number of characters in string
to transmit to the keyboard,
maximum 4, this limit imposed
to keep things like "FORMAT C:\"
from being hidden in a graphic.
7th = the string itself with a ending : seperator,
don't count the seperator as part of the
string length required for 6th parameter.
example esc{R16:X4,0,0,0,79,49,1,G:esc}esc#A
-13-
S Y S O P S & BBS USERs IMPORTANT!!!!
X5 Input '<' COMMAND LOCK X5,3,8905,2345,1758:
-------------------------
X5 is DIGITAL LOCK to turn ZONE input on/off
for BBS LOCAL side, affects the '<' input command.
ALL users set your ACCESS code.
Replace the xxxx,xxxx,xxxx with a made up sequence.
ie X5,3,1,8,1959: My birthday.
Where xxxx = any number between 0-9999
esc = ASCII character value 27
USERS ---> "X5,3,xxxx,xxxx,xxxx:" SETS your INPUT Command
lockout access code, this access code can only be
set once at BOOTUP when all the ACCESS CODEs are at
zero, further access to ANY X5 command requires
YOUR access Code. ALL should set a ACCESS code!
example-> ECHO ON
REM - esc{R4:X5,3,xxxx,xxxx,xxxx:R3:esc}esc#A
SYSOPs ---> This SETs access code and LOCKs out < INPUT.
At BOOTUP execute in a TEXT file TYPE"ed"
from your AUTOEXEC.BAT or turn ECHO ON and make it a
REM line in AUTOEXEC.BAT, a sequence like:
ECHO ON
REM - esc{R4:X5,3,xxxx,xxxx,xxxx:X5,0,xxxx.xxxx,xxxx:R3:esc}esc#A
SYSOPs ---> "X5,0,xxxx,xxxx,xxxx:" turns '<' INPUT OFF,
This is done from a text file TYPE"ed" to CONDOR
DON'T put this in a MENU! Put it somewhere
only the SYSOP can SEE. This command shuts
down the < INPUT command, you don't want the
< INPUT command working on the BBS local side
except to test a MENU you create. If you don't
shut down the < INPUT command on the BBS side the
BBS will wait forever for input from the sysop's
keyboard! You must do this privately only where
the sysop's Condor sees it, you don't want put it
in MENU text and shut down < INPUT on the USER SIDE.
SYSOPs ---> "X5,1,xxxx,xxxx,xxxx:" Turns the < INPUT command
access back ON. Do this to make < INPUT work for
Point & Click Menu TESTing. Then SHUT it OFF!!!
example-> ECHO ON
REM - esc{R4:X5,1,xxxx,xxxx,xxxx:R3:esc}esc#A
See LOCK.BAT, UNLOCK.BAT, ACCESS.BAT for extra help.
.......................................................................
X6 Set ARROW key Step Rates X6,12,10:
---------------------------
X6 = command identifier
Set the X Y step rates for the arrow key
key movements of the pointer invoked
by the < input command used with the ZONES.
1st parameter =
X step rate range 1 to 32
2nd parameter =
Y step rate range 1 to 32
example esc{R18:X6,16,10:esc}esc#A
-14-
Z Rectangle syntax example Z0,0,639,199:
------------
Z = Command identifier
Draws a rectangle, you specify
the upper left and lower right
corner coordinates. Use the
C command to change colors and
the H command to draw a solid
instead of a frame.
1st parameter = upper left corner X coordinate
2nd parameter = upper left corner Y coordinate
3rd parameter = lower right corner X coordinate
4th parameter = lower right corner Y coordinate
EXAMPLE esc{R6:Z20,50,277,189:t48:b15:R3:esc}esc#A
.......................................................................
z TEXT Rectangle syntax example z1,1,80,25,*:
-----------------
z = Command identifier
Prints a rectangle made of a specified
character with the upper left corner and
lower right corners specifed as column and
row coordinates. You can get high ascii
characters by holding alt and typing the ascii
value on the numeric keypad. Useful is ascii
219 for FILLING large areas and then only using
the slow F or f command to fill in the edges.
1st parameter = upper left corner COLUMN ( 1 to 80 )
2nd parameter = upper left corner ROW ( 1 to 25 )
3rd parameter = lower right corner COLUMN ( 1 to 80 )
4th parameter = lower right corner ROW ( 1 to 25 )
5th parameter = CHARACTER to make the rectangle with
followed by the : just like a number
value.
EXAMPLE esc{R6:z4,3,8,12,X:t48:b18:R3:esc}esc#A
.......................................................................
/ COMMENT syntax example /Anything you like ending with a@
----------
/ = command identifer
Use this to add comments inside CONDOR script.
It has no effect and will not be printed to the screen.
The Comment must BEGIN with a / and end with a @
Maximum length of a comment is /...127 characters...@
example esc{R16:b0:/We just set 640x350x16@R3:esc}esc#A
-15-
& LOOP a command(s) &0,198,6,0,L,4,0,0,x,y:
--------------------
& = command identifier
Loops a command a specified number of times with
stepping, special options for XOR ing and the
write text command. You can loop a
chain of commands, see parameter 5, BUT you can't
loop a loop. Still this command is very powerful
and worth every effort to learn!
Note: PRESS the CTRL key to abort a loop.
1st parameter = FROM value
if FROM value bigger than TO value
loop will detect and step backwards.
2nd parameter = TO value
3rd parameter = step value, positive number only.
4th parameter = DELAY roughly a 360th of a second
between each step of the loop.
5th parameter = command Identifier to loop.
optional specification character after 5th
parameter instead of comma:
| = XOR stepping
@ = get text for w command everytime
otherwise text written from loop
with the w command is last text
written with w command before the
loop was executed. w command now
ignores CR and LF so loop command
can be used for easy written text
placement with the loop's stepping.
NOTE: (Chain Gang) If a > symbol is given here as a command
identifer chain gang option is invoked.
This allows multiple commands to LOOPed.
Instead of one command specified for this
parameter a string of command identifers
are passed.
The > to get CONDOR's attention to chain-
gang, and ending with the @ FOLLOWED by a
comma. Like this >CL@,
C is at command position 0
L is at command position 1
The position of the command is the key
to which command will be executed.
There can be up to 128 (0-127) commands in
this command string in any order you like.
Example: switching line color and drawing lines too
esc{R14:&0,636,6,0,>CL@,16,0)1,3:1)319,99,x,20:0)1,2:1)319,99,+2,20:
t48:b11:R3:esc}esc#A
You can replace the ) above with the commands themself
(or any non-numeric character) like so:
esc{R14:&0,636,6,0,>CL@,16,0C1,1:1L319,99,x,179:0C1,2:1L319,99,+2,179:
t48:b12:R3:esc}esc#A
( continued on next page )
-16-
6th parameter = total number of parameters command(s)
that are being looped requires. You are required
to specify the total number the command(s) requires
ie L command requires 4 , ie C command 2.
If using the CHAIN GANG option a L command requires
5 parameters, a C command 3.
You can specify multiples of the required number
such as 8 or 12 for the L command, Maximum up to
2048, for LOOPing several L ine commands at once,
this works sort of like BASIC's READ DATA
statements between each LOOP step.
REMAINING parameters = whatever the command(s) being
looped requires. If you use a "x" as a
parameter it will be stepped in the direction
of the FROM TO values, use a "y" and the loop
will step the value in a reverse direction.
You can use both "x" and "y" at the same time.
If you use a number it will remain as a constant
for the command being looped through out the
loop execution.
You can preceed constants for a command being
LOOPed with +,-, or !
+CONSTANT will ADD the CONSTANT to the x step
value.
-CONSTANT will SUBTRACT the CONSTANT from the
x step value.
!CONSTANT will SUBTRACT the x step value from
the CONSTANT.
syntax example &10,50,4,0,L,4,x,+90,!639,-2:
LOOP example, Written text option:
esc{R6:&1,7,1,0,w@2,25,x,A. Item 1@
B. Item 2@
C. Item 3@
D. Item 4@
E. Item 5@
F. Item 6@
G. Item 7@
t72:b4:R3:esc}esc#A
Example of loop used to READ DATA and step within at the same time in
both directions.
esc{R6:&0,639,4,0,L,16,319,99,x,0:319,99:y,0:319,99,x,199:319,99:y,199:
t52:b16:R3:esc}esc#A
-17-
< INPUT Command <1,0,1:
----------------
< = command identifier
Gets input from user's keyboard and transmits it as soon
as the LAST command in the Condor Buffer is executed.
Should be used near the end of a MENU, as the BBS will
continue to send to the terminal while the INPUT command
is waiting on the user. This is so the BBS will be
waiting for INPUT when CONDOR sends the user's response
at buffer excution exit. The INPUT command is good for
letting you use any resolution you want for a BBS MENU
and then to issue some reset commands.
Also the < input command can optionally
INVOKE ARROW key routine for the X4 command
so ZONES can be pointed to and clicked on, you must
use X4 to define and load the zone strings first and
you should use CONDOR to draw some borders(ICONS) around
the zones so the user will know where and what he is
selecting when he clicks on a ZONE, that way you
have the job of cosmetics, that's half the fun anyway.
The selected Zone's associated data string is
transmitted to the BBS as soon as CONDOR executes
the last command in it's buffer. ZONE 63 is the default
ZONE, it's associated data string will be sent if no
ZONES match where the user clicked. You should always
define ZONE 63. PLEASE see command X5 and use it right
away as the input command can hang up a BBS on the local
side and should be LOCKED out except when a SYSOP is
testing menus he made using the < command.
You may find the X6 command useful too.
1st parameter = Transmitt carriage return at the end
of the string INPUTted? 1 = YES 0 = NO
2nd parameter = type of INPUT
0 = One key, (hot key)
1 = String, with a return to
end input from user,
max string length = 14
2 = MOUSE ZONE, activate a POLYMARKER
mouse pointer, use the " T " command
to select mouse type and size and the
" C " command to set mouse color.
User moves mouse with ARROW keys and
clicks on a "ZONE". The associated
ZONE string is copied into INPUT's
buffer to be transmitted to BBS
at the end of the CONDOR buffer
execution via the keyboard buffer.
3rd parameter = Output options
0 = Don't show input typed from user
on his screen. Has no effect on
Mouse ZONES.
1 = Show input typed from user on screen.
Has no effect on Mouse ZONES.
2 = Show input but throw it away, don't
transmit it at the end of the chain.
Does effect Mouse ZONE.
3 = Don't show input from user, and throw it
away too. Does effect Mouse ZONE.
( continued on next page )
-18-
Note: If 2 ZONES areas are over lapping on the screen the
ZONE with the lower value ID number will get selected when
the mouse is clicked on both ZONEs at the same time.
+----+--------------------+
user clicks in here ---> |ID=1| |
ZONE 1 gets selected +----+ ID=10 |
| |
+-------------------------+
+----+--------------------+
user clicks in here ---> |ID=7| |
ZONE 2 gets selected +----+ ID=2 |
| |
+-------------------------+
Note also that the mouse is driven by the ARROW keys,
so the mouse driver has to produce these or user presses
ARROW keys.
simple example esc{R16:C3,12:w6,10,Press the ARROW KEYs then ENTER!@
w2,11,Pick a square! It could be a fancy ICON.@
X4,9999:X4,9998:C1,11:
Z1,1,150,99:X4,0,1,1,150,99,4,left:
Z160,1,350,99:X4,55,160,1,350,99,4,rite:
X4,63,0,0,639,349,4,oops:X6,16,16:
C3,14:C0,14:T3,4:<0,2,1:R3:esc}esc#A
NOTE: Don't use POINT & CLICK ZONES in graphics mode 19.
XORing doesn't work in that mode so the pointer will
make a mess. No real harm but it looks bad.
-19-
? Ask CONDOR ?0:
------------
? = command identifier
Asks the CONDOR device questions.
It loads the reply into the keyboard buffer and it
is as if the user typed it. Can be issued in TEXT mode.
1st parameter selects the question to ask.
0 = Ask Condor system info, CONDOR will
TYPE in ASCII the version number it is,
what video hardware it finds and the
current video mode selected.
A Condor response to a ?0: query
esc{?0:esc}esc#A
would look something like:
V4.0:$I:*D:
and interpreted by the HOST asker as
Version 4.0:$Hardware I:*Current_mode D:
HARDWARE CHART:
---------------------------------------
$A: no display
$B: MDA mono display
$C CGA color
$D (reserved)
$E EGA color
$F EGA mono
$G Professional Graphics Controller
$H VGA analog mono
$I VGA analog color
$J (reserved)
$K MCGA digital color
$L MCGA analog mono
$M MCGA analog color
VIDEO MODE CHART: Res Colors Type
---------------------------------------------------
*A: 40x25 16 TEXT
*B: 40x25 16 TEXT
*C: 80x25 16 TEXT
*D: 80x25 16 TEXT
*E: 320x200 4 GRAPHICS
*F: 320x200 4 GRAPHICS
*G: 640x200 2 GRAPHICS
*H: 80x25 2 TEXT
*I: N/A N/A N/A
*J: N/A N/A N/A
*K: N/A N/A N/A
*L: N/A N/A N/A
*M: N/A N/A N/A
*N: 320x200 16 GRAPHICS
*O: 640x200 16 GRAPHICS
*P: 640x350 2 GRAPHICS
*Q: 640x350 16 GRAPHICS
*R: 640x480 2 GRAPHICS
*S: 640x480 16 GRAPHICS
*T: 320x200 256 GRAPHICS
-20-
ANSI SUPPORT
------------
CONDOR supports ANSI escape sequences. You can't place
ANSI commands in the CONDOR buffer and execute them BUT you can first
switch to a GRAPHICS mode with a CONDOR Rx: command then draw some
lines, what have you, with CONDOR and at exit don't do a R3: command.
The ANSI commands will still work, the only thing is that you will
not get the ANSI background colors and BLINKing characters, this
is how you mix CONDOR and ANSI commands to get the best of both.
If you switch back to a TEXT mode then you get the ANSI character's
background color and BLINK. CONDOR's R3: switches to color TEXT mode
80x25. I left most of the cursor positioning work for the ANSI
commands to save on memory, CONDOR has to fit in 64K to work and I
want to expand it little in the future.
ANSI COMMANDS SUPPORTED:
------------------------
? = numeric value
esc[?;?H Move cursor to line, column. If no
parameters specified cursor is sent
to HOME (1,1)
esc[?;?f Exactly the same as the above command.
esc[?A Move cursor UP. Moves cursor up by the
number of lines specifed without
changing columns. If cursor is at the
top line this command is ignored.
esc[?B Move cursor DOWN. Moves cursor down
by the number of lines specifed without
changing columns. If cursor is at the
bottom line this command is ignored.
esc[?C Cursor FORWARD. Moves cursor forward
by the specified number columns without
changing lines. If the cursor is at the
rightmost column command is ignored.
esc[?D Cursor BACKWARD. Moves cursor backward
by the specified number columns without
changing lines. If the cursor is at the
leftmost column command is ignored.
esc[s SAVE cursor position. Get current
cursor position and remember it.
Use the esc[u sequence to set cursor
to saved position.
esc[u RESTORE Cursor Position. Sets the
cursor to the SAVEed position
established with the esc[s sequence.
esc[2J Erase the TEXT Screen. Clears the
TEXT screen only as defined by
CONDOR's 's' command
and moves the cursor to HOME (1,1).
-21-
( ANSI Commands Continued )
esc[K ERASE Line. Clears all characters from
cursor positon to the end of the line.
esc[?;?;?m Set TEXT Attributes,
TEXT Foreground colors and
TEXT Background colors.
TEXT Attribute values:
0 = All attributes OFF
1 = Bold ON
4 = NO EFFECT
5 = BLINK ON
7 = REVERSE Video ON
8 = CONCEALED ON
FORGROUND color values:
30 = BLACK
31 = RED
32 = GREEN
33 = YELLOW
34 = BLUE
35 = MAGENTA
36 = CYAN
37 = WHITE
BACKGROUND color values:
40 = BLACK
41 = RED
42 = GREEN
43 = YELLOW
44 = BLUE
45 = MAGENTA
46 = CYAN
47 = WHITE
The ANSI commands esc[?h, esc[?l, esc[code;string;...p are
NOT supported. The ANSI esc[6 command used for ANSI auto-detect is not
supported, SEE CONDOR's '?0:' command for CONDOR 4.0+ auto-detection.
-----------------------------------------------------------------------
I hope CONDOR will make changes in the online world but it
depends on you, DEMAND "EXTERNAL" ANSI support as AT LEAST optional
in MAJOR TERMINALs and BBSs. EXTERNAL ANSI support provides your
terminal or BBS with access to CONDOR.SYS In Turbo C this is as
SIMPLE as bdos(2,character,0); that's all they got to do and CONDOR
will respond!!! The faster DIRECT TEXT output is just that TEXT output
it does not work in graphics modes!